package com.hui.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hui.entity.dao.ShopUser;
import com.hui.entity.vo.EshopUserVo;
import com.hui.model.auth.RegParam;
import com.hui.model.userlogin.LoginParam;
import com.hui.util.ResponseResult;

import java.math.BigDecimal;

/**
 * 用户表(EshopUser)表服务接口
 *
 * @author hui
 * @since 2022-07-11 17:37:54
 */
public interface UserService extends IService<ShopUser> {
    /**
     * 登录
     *
     * @param loginParam 实体数据表
     * @return 一个带有用户数据的 Token
     */
    ResponseResult login(LoginParam loginParam);

    /**
     * 注册
     *
     * @param param bo包下 RegParam 注册参数
     * @return
     */
    ResponseResult register(RegParam param);

    /**
     * 获取用户资金统计
     *
     * @param uid
     * @return
     */
    Double[] getUserMoney(Long uid);

    /**
     * 用户支付有关
     *
     * @param uid
     * @param payPrice
     */
    void decPrice(Long uid, BigDecimal payPrice);

    /**
     * 用户支付有关
     *
     * @param uid
     */
    void incPayCount(Long uid);

    /**
     * 获取用户信息
     *
     * @param user
     * @return
     */
    EshopUserVo getNewYxUserById(ShopUser user);
}


